
main:     file format elf64-x86-64


Disassembly of section .init:

0000000000400550 <_init>:
  400550:	48 83 ec 08          	sub    $0x8,%rsp
  400554:	48 8b 05 9d 0a 20 00 	mov    0x200a9d(%rip),%rax        # 600ff8 <__gmon_start__>
  40055b:	48 85 c0             	test   %rax,%rax
  40055e:	74 05                	je     400565 <_init+0x15>
  400560:	e8 6b 00 00 00       	callq  4005d0 <__gmon_start__@plt>
  400565:	48 83 c4 08          	add    $0x8,%rsp
  400569:	c3                   	retq   

Disassembly of section .plt:

0000000000400570 <.plt>:
  400570:	ff 35 92 0a 20 00    	pushq  0x200a92(%rip)        # 601008 <_GLOBAL_OFFSET_TABLE_+0x8>
  400576:	ff 25 94 0a 20 00    	jmpq   *0x200a94(%rip)        # 601010 <_GLOBAL_OFFSET_TABLE_+0x10>
  40057c:	0f 1f 40 00          	nopl   0x0(%rax)

0000000000400580 <write@plt>:
  400580:	ff 25 92 0a 20 00    	jmpq   *0x200a92(%rip)        # 601018 <write@GLIBC_2.2.5>
  400586:	68 00 00 00 00       	pushq  $0x0
  40058b:	e9 e0 ff ff ff       	jmpq   400570 <.plt>

0000000000400590 <printf@plt>:
  400590:	ff 25 8a 0a 20 00    	jmpq   *0x200a8a(%rip)        # 601020 <printf@GLIBC_2.2.5>
  400596:	68 01 00 00 00       	pushq  $0x1
  40059b:	e9 d0 ff ff ff       	jmpq   400570 <.plt>

00000000004005a0 <close@plt>:
  4005a0:	ff 25 82 0a 20 00    	jmpq   *0x200a82(%rip)        # 601028 <close@GLIBC_2.2.5>
  4005a6:	68 02 00 00 00       	pushq  $0x2
  4005ab:	e9 c0 ff ff ff       	jmpq   400570 <.plt>

00000000004005b0 <__libc_start_main@plt>:
  4005b0:	ff 25 7a 0a 20 00    	jmpq   *0x200a7a(%rip)        # 601030 <__libc_start_main@GLIBC_2.2.5>
  4005b6:	68 03 00 00 00       	pushq  $0x3
  4005bb:	e9 b0 ff ff ff       	jmpq   400570 <.plt>

00000000004005c0 <strcmp@plt>:
  4005c0:	ff 25 72 0a 20 00    	jmpq   *0x200a72(%rip)        # 601038 <strcmp@GLIBC_2.2.5>
  4005c6:	68 04 00 00 00       	pushq  $0x4
  4005cb:	e9 a0 ff ff ff       	jmpq   400570 <.plt>

00000000004005d0 <__gmon_start__@plt>:
  4005d0:	ff 25 6a 0a 20 00    	jmpq   *0x200a6a(%rip)        # 601040 <__gmon_start__>
  4005d6:	68 05 00 00 00       	pushq  $0x5
  4005db:	e9 90 ff ff ff       	jmpq   400570 <.plt>

00000000004005e0 <memcpy@plt>:
  4005e0:	ff 25 62 0a 20 00    	jmpq   *0x200a62(%rip)        # 601048 <memcpy@GLIBC_2.14>
  4005e6:	68 06 00 00 00       	pushq  $0x6
  4005eb:	e9 80 ff ff ff       	jmpq   400570 <.plt>

00000000004005f0 <malloc@plt>:
  4005f0:	ff 25 5a 0a 20 00    	jmpq   *0x200a5a(%rip)        # 601050 <malloc@GLIBC_2.2.5>
  4005f6:	68 07 00 00 00       	pushq  $0x7
  4005fb:	e9 70 ff ff ff       	jmpq   400570 <.plt>

0000000000400600 <open@plt>:
  400600:	ff 25 52 0a 20 00    	jmpq   *0x200a52(%rip)        # 601058 <open@GLIBC_2.2.5>
  400606:	68 08 00 00 00       	pushq  $0x8
  40060b:	e9 60 ff ff ff       	jmpq   400570 <.plt>

Disassembly of section .text:

0000000000400610 <_start>:
  400610:	31 ed                	xor    %ebp,%ebp
  400612:	49 89 d1             	mov    %rdx,%r9
  400615:	5e                   	pop    %rsi
  400616:	48 89 e2             	mov    %rsp,%rdx
  400619:	48 83 e4 f0          	and    $0xfffffffffffffff0,%rsp
  40061d:	50                   	push   %rax
  40061e:	54                   	push   %rsp
  40061f:	49 c7 c0 70 0a 40 00 	mov    $0x400a70,%r8
  400626:	48 c7 c1 00 0a 40 00 	mov    $0x400a00,%rcx
  40062d:	48 c7 c7 fd 06 40 00 	mov    $0x4006fd,%rdi
  400634:	e8 77 ff ff ff       	callq  4005b0 <__libc_start_main@plt>
  400639:	f4                   	hlt    
  40063a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)

0000000000400640 <deregister_tm_clones>:
  400640:	b8 6f 10 60 00       	mov    $0x60106f,%eax
  400645:	55                   	push   %rbp
  400646:	48 2d 68 10 60 00    	sub    $0x601068,%rax
  40064c:	48 83 f8 0e          	cmp    $0xe,%rax
  400650:	48 89 e5             	mov    %rsp,%rbp
  400653:	77 02                	ja     400657 <deregister_tm_clones+0x17>
  400655:	5d                   	pop    %rbp
  400656:	c3                   	retq   
  400657:	b8 00 00 00 00       	mov    $0x0,%eax
  40065c:	48 85 c0             	test   %rax,%rax
  40065f:	74 f4                	je     400655 <deregister_tm_clones+0x15>
  400661:	5d                   	pop    %rbp
  400662:	bf 68 10 60 00       	mov    $0x601068,%edi
  400667:	ff e0                	jmpq   *%rax
  400669:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

0000000000400670 <register_tm_clones>:
  400670:	b8 68 10 60 00       	mov    $0x601068,%eax
  400675:	55                   	push   %rbp
  400676:	48 2d 68 10 60 00    	sub    $0x601068,%rax
  40067c:	48 c1 f8 03          	sar    $0x3,%rax
  400680:	48 89 e5             	mov    %rsp,%rbp
  400683:	48 89 c2             	mov    %rax,%rdx
  400686:	48 c1 ea 3f          	shr    $0x3f,%rdx
  40068a:	48 01 d0             	add    %rdx,%rax
  40068d:	48 d1 f8             	sar    %rax
  400690:	75 02                	jne    400694 <register_tm_clones+0x24>
  400692:	5d                   	pop    %rbp
  400693:	c3                   	retq   
  400694:	ba 00 00 00 00       	mov    $0x0,%edx
  400699:	48 85 d2             	test   %rdx,%rdx
  40069c:	74 f4                	je     400692 <register_tm_clones+0x22>
  40069e:	5d                   	pop    %rbp
  40069f:	48 89 c6             	mov    %rax,%rsi
  4006a2:	bf 68 10 60 00       	mov    $0x601068,%edi
  4006a7:	ff e2                	jmpq   *%rdx
  4006a9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

00000000004006b0 <__do_global_dtors_aux>:
  4006b0:	80 3d ad 09 20 00 00 	cmpb   $0x0,0x2009ad(%rip)        # 601064 <_edata>
  4006b7:	75 11                	jne    4006ca <__do_global_dtors_aux+0x1a>
  4006b9:	55                   	push   %rbp
  4006ba:	48 89 e5             	mov    %rsp,%rbp
  4006bd:	e8 7e ff ff ff       	callq  400640 <deregister_tm_clones>
  4006c2:	5d                   	pop    %rbp
  4006c3:	c6 05 9a 09 20 00 01 	movb   $0x1,0x20099a(%rip)        # 601064 <_edata>
  4006ca:	f3 c3                	repz retq 
  4006cc:	0f 1f 40 00          	nopl   0x0(%rax)

00000000004006d0 <frame_dummy>:
  4006d0:	48 83 3d 48 07 20 00 	cmpq   $0x0,0x200748(%rip)        # 600e20 <__JCR_END__>
  4006d7:	00 
  4006d8:	74 1e                	je     4006f8 <frame_dummy+0x28>
  4006da:	b8 00 00 00 00       	mov    $0x0,%eax
  4006df:	48 85 c0             	test   %rax,%rax
  4006e2:	74 14                	je     4006f8 <frame_dummy+0x28>
  4006e4:	55                   	push   %rbp
  4006e5:	bf 20 0e 60 00       	mov    $0x600e20,%edi
  4006ea:	48 89 e5             	mov    %rsp,%rbp
  4006ed:	ff d0                	callq  *%rax
  4006ef:	5d                   	pop    %rbp
  4006f0:	e9 7b ff ff ff       	jmpq   400670 <register_tm_clones>
  4006f5:	0f 1f 00             	nopl   (%rax)
  4006f8:	e9 73 ff ff ff       	jmpq   400670 <register_tm_clones>

00000000004006fd <main>:
  4006fd:	55                   	push   %rbp
  4006fe:	48 89 e5             	mov    %rsp,%rbp
  400701:	48 83 ec 10          	sub    $0x10,%rsp
  400705:	48 c7 45 f8 90 0a 40 	movq   $0x400a90,-0x8(%rbp)
  40070c:	00 
  40070d:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  400711:	48 89 c7             	mov    %rax,%rdi
  400714:	e8 af 02 00 00       	callq  4009c8 <my_strlen>
  400719:	89 c2                	mov    %eax,%edx
  40071b:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  40071f:	48 89 c6             	mov    %rax,%rsi
  400722:	bf 98 0a 40 00       	mov    $0x400a98,%edi
  400727:	b8 00 00 00 00       	mov    $0x0,%eax
  40072c:	e8 5f fe ff ff       	callq  400590 <printf@plt>
  400731:	be 9f 0a 40 00       	mov    $0x400a9f,%esi
  400736:	bf a1 0a 40 00       	mov    $0x400aa1,%edi
  40073b:	e8 45 00 00 00       	callq  400785 <mfopen>
  400740:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
  400744:	48 83 7d f0 00       	cmpq   $0x0,-0x10(%rbp)
  400749:	75 07                	jne    400752 <main+0x55>
  40074b:	b8 01 00 00 00       	mov    $0x1,%eax
  400750:	eb 31                	jmp    400783 <main+0x86>
  400752:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  400756:	48 89 c7             	mov    %rax,%rdi
  400759:	e8 6a 02 00 00       	callq  4009c8 <my_strlen>
  40075e:	89 c1                	mov    %eax,%ecx
  400760:	48 8b 55 f0          	mov    -0x10(%rbp),%rdx
  400764:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  400768:	89 ce                	mov    %ecx,%esi
  40076a:	48 89 c7             	mov    %rax,%rdi
  40076d:	e8 81 01 00 00       	callq  4008f3 <mfwrite>
  400772:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
  400776:	48 89 c7             	mov    %rax,%rdi
  400779:	e8 14 02 00 00       	callq  400992 <mfclose>
  40077e:	b8 00 00 00 00       	mov    $0x0,%eax
  400783:	c9                   	leaveq 
  400784:	c3                   	retq   

0000000000400785 <mfopen>:
  400785:	55                   	push   %rbp
  400786:	48 89 e5             	mov    %rsp,%rbp
  400789:	48 83 ec 20          	sub    $0x20,%rsp
  40078d:	48 89 7d e8          	mov    %rdi,-0x18(%rbp)
  400791:	48 89 75 e0          	mov    %rsi,-0x20(%rbp)
  400795:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%rbp)
  40079c:	48 8b 45 e0          	mov    -0x20(%rbp),%rax
  4007a0:	48 8d 35 04 03 00 00 	lea    0x304(%rip),%rsi        # 400aab <__dso_handle+0x23>
  4007a7:	48 89 c7             	mov    %rax,%rdi
  4007aa:	e8 11 fe ff ff       	callq  4005c0 <strcmp@plt>
  4007af:	85 c0                	test   %eax,%eax
  4007b1:	75 1b                	jne    4007ce <mfopen+0x49>
  4007b3:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  4007b7:	be 00 00 00 00       	mov    $0x0,%esi
  4007bc:	48 89 c7             	mov    %rax,%rdi
  4007bf:	b8 00 00 00 00       	mov    $0x0,%eax
  4007c4:	e8 37 fe ff ff       	callq  400600 <open@plt>
  4007c9:	89 45 fc             	mov    %eax,-0x4(%rbp)
  4007cc:	eb 6c                	jmp    40083a <mfopen+0xb5>
  4007ce:	48 8b 45 e0          	mov    -0x20(%rbp),%rax
  4007d2:	48 8d 35 d4 02 00 00 	lea    0x2d4(%rip),%rsi        # 400aad <__dso_handle+0x25>
  4007d9:	48 89 c7             	mov    %rax,%rdi
  4007dc:	e8 df fd ff ff       	callq  4005c0 <strcmp@plt>
  4007e1:	85 c0                	test   %eax,%eax
  4007e3:	75 20                	jne    400805 <mfopen+0x80>
  4007e5:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  4007e9:	ba b6 01 00 00       	mov    $0x1b6,%edx
  4007ee:	be 41 02 00 00       	mov    $0x241,%esi
  4007f3:	48 89 c7             	mov    %rax,%rdi
  4007f6:	b8 00 00 00 00       	mov    $0x0,%eax
  4007fb:	e8 00 fe ff ff       	callq  400600 <open@plt>
  400800:	89 45 fc             	mov    %eax,-0x4(%rbp)
  400803:	eb 35                	jmp    40083a <mfopen+0xb5>
  400805:	48 8b 45 e0          	mov    -0x20(%rbp),%rax
  400809:	48 8d 35 9f 02 00 00 	lea    0x29f(%rip),%rsi        # 400aaf <__dso_handle+0x27>
  400810:	48 89 c7             	mov    %rax,%rdi
  400813:	e8 a8 fd ff ff       	callq  4005c0 <strcmp@plt>
  400818:	85 c0                	test   %eax,%eax
  40081a:	75 1e                	jne    40083a <mfopen+0xb5>
  40081c:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  400820:	ba b6 01 00 00       	mov    $0x1b6,%edx
  400825:	be 41 04 00 00       	mov    $0x441,%esi
  40082a:	48 89 c7             	mov    %rax,%rdi
  40082d:	b8 00 00 00 00       	mov    $0x0,%eax
  400832:	e8 c9 fd ff ff       	callq  400600 <open@plt>
  400837:	89 45 fc             	mov    %eax,-0x4(%rbp)
  40083a:	83 7d fc 00          	cmpl   $0x0,-0x4(%rbp)
  40083e:	79 07                	jns    400847 <mfopen+0xc2>
  400840:	b8 00 00 00 00       	mov    $0x0,%eax
  400845:	eb 5a                	jmp    4008a1 <mfopen+0x11c>
  400847:	bf 10 04 00 00       	mov    $0x410,%edi
  40084c:	e8 9f fd ff ff       	callq  4005f0 <malloc@plt>
  400851:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
  400855:	48 83 7d f0 00       	cmpq   $0x0,-0x10(%rbp)
  40085a:	75 11                	jne    40086d <mfopen+0xe8>
  40085c:	8b 45 fc             	mov    -0x4(%rbp),%eax
  40085f:	89 c7                	mov    %eax,%edi
  400861:	e8 3a fd ff ff       	callq  4005a0 <close@plt>
  400866:	b8 00 00 00 00       	mov    $0x0,%eax
  40086b:	eb 34                	jmp    4008a1 <mfopen+0x11c>
  40086d:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
  400871:	8b 55 fc             	mov    -0x4(%rbp),%edx
  400874:	89 50 04             	mov    %edx,0x4(%rax)
  400877:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
  40087b:	c7 00 01 00 00 00    	movl   $0x1,(%rax)
  400881:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
  400885:	c7 80 08 04 00 00 00 	movl   $0x0,0x408(%rax)
  40088c:	00 00 00 
  40088f:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
  400893:	c7 80 0c 04 00 00 00 	movl   $0x400,0x40c(%rax)
  40089a:	04 00 00 
  40089d:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
  4008a1:	c9                   	leaveq 
  4008a2:	c3                   	retq   

00000000004008a3 <mfflush>:
  4008a3:	55                   	push   %rbp
  4008a4:	48 89 e5             	mov    %rsp,%rbp
  4008a7:	48 83 ec 10          	sub    $0x10,%rsp
  4008ab:	48 89 7d f8          	mov    %rdi,-0x8(%rbp)
  4008af:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  4008b3:	8b 80 08 04 00 00    	mov    0x408(%rax),%eax
  4008b9:	85 c0                	test   %eax,%eax
  4008bb:	7e 34                	jle    4008f1 <mfflush+0x4e>
  4008bd:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  4008c1:	8b 80 08 04 00 00    	mov    0x408(%rax),%eax
  4008c7:	48 63 d0             	movslq %eax,%rdx
  4008ca:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  4008ce:	48 8d 48 08          	lea    0x8(%rax),%rcx
  4008d2:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  4008d6:	8b 40 04             	mov    0x4(%rax),%eax
  4008d9:	48 89 ce             	mov    %rcx,%rsi
  4008dc:	89 c7                	mov    %eax,%edi
  4008de:	e8 9d fc ff ff       	callq  400580 <write@plt>
  4008e3:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  4008e7:	c7 80 08 04 00 00 00 	movl   $0x0,0x408(%rax)
  4008ee:	00 00 00 
  4008f1:	c9                   	leaveq 
  4008f2:	c3                   	retq   

00000000004008f3 <mfwrite>:
  4008f3:	55                   	push   %rbp
  4008f4:	48 89 e5             	mov    %rsp,%rbp
  4008f7:	48 83 ec 20          	sub    $0x20,%rsp
  4008fb:	48 89 7d f8          	mov    %rdi,-0x8(%rbp)
  4008ff:	89 75 f4             	mov    %esi,-0xc(%rbp)
  400902:	48 89 55 e8          	mov    %rdx,-0x18(%rbp)
  400906:	8b 45 f4             	mov    -0xc(%rbp),%eax
  400909:	48 63 d0             	movslq %eax,%rdx
  40090c:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  400910:	8b 80 08 04 00 00    	mov    0x408(%rax),%eax
  400916:	48 63 c8             	movslq %eax,%rcx
  400919:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  40091d:	48 01 c8             	add    %rcx,%rax
  400920:	48 8d 48 08          	lea    0x8(%rax),%rcx
  400924:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  400928:	48 89 c6             	mov    %rax,%rsi
  40092b:	48 89 cf             	mov    %rcx,%rdi
  40092e:	e8 ad fc ff ff       	callq  4005e0 <memcpy@plt>
  400933:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  400937:	8b 90 08 04 00 00    	mov    0x408(%rax),%edx
  40093d:	8b 45 f4             	mov    -0xc(%rbp),%eax
  400940:	01 c2                	add    %eax,%edx
  400942:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  400946:	89 90 08 04 00 00    	mov    %edx,0x408(%rax)
  40094c:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  400950:	8b 00                	mov    (%rax),%eax
  400952:	83 f8 01             	cmp    $0x1,%eax
  400955:	75 36                	jne    40098d <mfwrite+0x9a>
  400957:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  40095b:	8b 80 08 04 00 00    	mov    0x408(%rax),%eax
  400961:	85 c0                	test   %eax,%eax
  400963:	7e 28                	jle    40098d <mfwrite+0x9a>
  400965:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  400969:	8b 80 08 04 00 00    	mov    0x408(%rax),%eax
  40096f:	83 e8 01             	sub    $0x1,%eax
  400972:	48 8b 55 e8          	mov    -0x18(%rbp),%rdx
  400976:	48 98                	cltq   
  400978:	0f b6 44 02 08       	movzbl 0x8(%rdx,%rax,1),%eax
  40097d:	3c 0a                	cmp    $0xa,%al
  40097f:	75 0c                	jne    40098d <mfwrite+0x9a>
  400981:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  400985:	48 89 c7             	mov    %rax,%rdi
  400988:	e8 16 ff ff ff       	callq  4008a3 <mfflush>
  40098d:	8b 45 f4             	mov    -0xc(%rbp),%eax
  400990:	c9                   	leaveq 
  400991:	c3                   	retq   

0000000000400992 <mfclose>:
  400992:	55                   	push   %rbp
  400993:	48 89 e5             	mov    %rsp,%rbp
  400996:	48 83 ec 10          	sub    $0x10,%rsp
  40099a:	48 89 7d f8          	mov    %rdi,-0x8(%rbp)
  40099e:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  4009a2:	8b 80 08 04 00 00    	mov    0x408(%rax),%eax
  4009a8:	85 c0                	test   %eax,%eax
  4009aa:	7e 0c                	jle    4009b8 <mfclose+0x26>
  4009ac:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  4009b0:	48 89 c7             	mov    %rax,%rdi
  4009b3:	e8 eb fe ff ff       	callq  4008a3 <mfflush>
  4009b8:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  4009bc:	8b 40 04             	mov    0x4(%rax),%eax
  4009bf:	89 c7                	mov    %eax,%edi
  4009c1:	e8 da fb ff ff       	callq  4005a0 <close@plt>
  4009c6:	c9                   	leaveq 
  4009c7:	c3                   	retq   

00000000004009c8 <my_strlen>:
  4009c8:	55                   	push   %rbp
  4009c9:	48 89 e5             	mov    %rsp,%rbp
  4009cc:	48 89 7d e8          	mov    %rdi,-0x18(%rbp)
  4009d0:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  4009d4:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
  4009d8:	eb 05                	jmp    4009df <my_strlen+0x17>
  4009da:	48 83 45 f8 01       	addq   $0x1,-0x8(%rbp)
  4009df:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  4009e3:	0f b6 00             	movzbl (%rax),%eax
  4009e6:	84 c0                	test   %al,%al
  4009e8:	75 f0                	jne    4009da <my_strlen+0x12>
  4009ea:	48 8b 55 f8          	mov    -0x8(%rbp),%rdx
  4009ee:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  4009f2:	48 29 c2             	sub    %rax,%rdx
  4009f5:	48 89 d0             	mov    %rdx,%rax
  4009f8:	5d                   	pop    %rbp
  4009f9:	c3                   	retq   
  4009fa:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)

0000000000400a00 <__libc_csu_init>:
  400a00:	41 57                	push   %r15
  400a02:	41 89 ff             	mov    %edi,%r15d
  400a05:	41 56                	push   %r14
  400a07:	49 89 f6             	mov    %rsi,%r14
  400a0a:	41 55                	push   %r13
  400a0c:	49 89 d5             	mov    %rdx,%r13
  400a0f:	41 54                	push   %r12
  400a11:	4c 8d 25 f8 03 20 00 	lea    0x2003f8(%rip),%r12        # 600e10 <__frame_dummy_init_array_entry>
  400a18:	55                   	push   %rbp
  400a19:	48 8d 2d f8 03 20 00 	lea    0x2003f8(%rip),%rbp        # 600e18 <__init_array_end>
  400a20:	53                   	push   %rbx
  400a21:	4c 29 e5             	sub    %r12,%rbp
  400a24:	31 db                	xor    %ebx,%ebx
  400a26:	48 c1 fd 03          	sar    $0x3,%rbp
  400a2a:	48 83 ec 08          	sub    $0x8,%rsp
  400a2e:	e8 1d fb ff ff       	callq  400550 <_init>
  400a33:	48 85 ed             	test   %rbp,%rbp
  400a36:	74 1e                	je     400a56 <__libc_csu_init+0x56>
  400a38:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
  400a3f:	00 
  400a40:	4c 89 ea             	mov    %r13,%rdx
  400a43:	4c 89 f6             	mov    %r14,%rsi
  400a46:	44 89 ff             	mov    %r15d,%edi
  400a49:	41 ff 14 dc          	callq  *(%r12,%rbx,8)
  400a4d:	48 83 c3 01          	add    $0x1,%rbx
  400a51:	48 39 eb             	cmp    %rbp,%rbx
  400a54:	75 ea                	jne    400a40 <__libc_csu_init+0x40>
  400a56:	48 83 c4 08          	add    $0x8,%rsp
  400a5a:	5b                   	pop    %rbx
  400a5b:	5d                   	pop    %rbp
  400a5c:	41 5c                	pop    %r12
  400a5e:	41 5d                	pop    %r13
  400a60:	41 5e                	pop    %r14
  400a62:	41 5f                	pop    %r15
  400a64:	c3                   	retq   
  400a65:	90                   	nop
  400a66:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  400a6d:	00 00 00 

0000000000400a70 <__libc_csu_fini>:
  400a70:	f3 c3                	repz retq 

Disassembly of section .fini:

0000000000400a74 <_fini>:
  400a74:	48 83 ec 08          	sub    $0x8,%rsp
  400a78:	48 83 c4 08          	add    $0x8,%rsp
  400a7c:	c3                   	retq   
